	.syntax unified
	.cpu cortex-m3
	.fpu softvfp
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 1
	.eabi_attribute 30, 6
	.eabi_attribute 34, 1
	.eabi_attribute 18, 4
	.thumb
	.file	"marcos.c"
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Error: Debe ingresar como argumento el numero a cal"
	.ascii	"cular el factorial!\000"
	.align	2
.LC1:
	.ascii	"Factorial Comun de %d es %u \012\000"
	.text
	.align	2
	.global	main
	.thumb
	.thumb_func
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r7, lr}
	sub	sp, sp, #16
	add	r7, sp, #0
	str	r0, [r7, #4]
	str	r1, [r7]
	movs	r3, #1
	str	r3, [r7, #12]
	ldr	r3, [r7, #4]
	cmp	r3, #1
	ble	.L2
	ldr	r3, [r7]
	adds	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	str	r3, [r7, #8]
	ldr	r0, [r7, #8]
	bl	factorial
	str	r0, [r7, #12]
	movw	r0, #:lower16:.LC1
	movt	r0, #:upper16:.LC1
	ldr	r1, [r7, #8]
	ldr	r2, [r7, #12]
	bl	printf
	b	.L1
.L2:
	movw	r0, #:lower16:.LC0
	movt	r0, #:upper16:.LC0
	bl	puts
	mov	r3, #-1
.L1:
	mov	r0, r3
	adds	r7, r7, #16
	mov	sp, r7
	@ sp needed
	pop	{r7, pc}
	.size	main, .-main
	.align	2
	.global	factorial
	.thumb
	.thumb_func
	.type	factorial, %function
factorial:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r7, lr}
	sub	sp, sp, #16
	add	r7, sp, #0
	str	r0, [r7, #4]
	ldr	r3, [r7, #4]
	cmp	r3, #1
	it	cc
	movcc	r3, #1
	str	r3, [r7, #12]
	ldr	r3, [r7, #12]
	cmp	r3, #1
	bls	.L6
	ldr	r3, [r7, #12]
	subs	r3, r3, #1
	mov	r0, r3
	bl	factorial
	mov	r2, r0
	ldr	r3, [r7, #12]
	mul	r3, r2, r3
	str	r3, [r7, #12]
.L6:
	ldr	r3, [r7, #12]
	mov	r0, r3
	adds	r7, r7, #16
	mov	sp, r7
	@ sp needed
	pop	{r7, pc}
	.size	factorial, .-factorial
	.ident	"GCC: (GNU) 4.8.3"
